package com.ruoyi.safe.domain.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.safe.domain.BizExtensionRequests;
import com.ruoyi.safe.domain.BizOverseer;
import com.ruoyi.safe.domain.BizRectifyReview;
import com.ruoyi.safe.domain.BizSafeAttach;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class BizProjectCheckRecordVO implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 序号
     */
    private Long id;

    /**
     * 项目自检id
     */
    private Long projectCheckId;

    /**
     * 项目id
     */
    private Long projectId;

    /**
     * 隐患状态
     */
    private String hiddenDangerStatus;

    /**
     * 检查时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date checkTime;

    /**
     * 检查人
     */
    private String checkPeople;

    /**
     * 检查人user_name
     */
    private String checkPeopleNickName;

    /**
     * 检查人电话
     */
    private String checkPeoplePhone;

    /**
     * 整改期限
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date reviseTheDates;

    /**
     * 整改人
     */
    private String revisePeople;
    /**
     * 整改人
     */
    private String revisePeopleNickName;

    /**
     * 整改人电话
     */
    private String revisePeoplePhone;

    /**
     * 原因
     */
    private String reason;

    /**
     * 隐患内容
     */
    private String hiddenMessage;

    /**
     * 责任区域
     */
    private String dutyArea;

    /**
     * 检查类型
     */
    private String checkType;

    /**
     * 分包单位
     */
    private String subpackageUnit;

    /**
     * 安全隐患(风险因素)
     */
    private String riskFactor;

    /**
     * 隐患类别(风险因素)
     */
    private String riskLevel;

    /**
     * 补充说明
     */
    private String supplement;

    /**
     * 隐患级别
     */
    private String hiddenClass;

    /**
     * 事故隐患
     */
    private String accidentHidden;

    /**
     * 通知人
     */
    private String[] notifier;
    /**
     * 通知人nickName
     */
    private String[] notifierName;

    /**
     * 图片信息
     */
    private List<BizSafeAttach> attachList;

    /**
     * 整改要求
     */
    private String reviseRequire;

    /**
     * 超期整改
     */
    private String overdueRectification;

    /**
     * 超期复查
     */
    private String overdueReview;

    /**
     * 整改信息
     */
    private List<BizRectifyReview> rectifyReviews;

    /**
     * 复查人
     */
    private String reviewUserName;
    /**
     * 复查人
     */
    private String reviewUserNameNickName;

    /**
     * 复查人电话
     */
    private String reviewUserPhone;

    /**
     * 复查期限
     */
    private Date reviewTime;

    /**
     * 延期记录
     */
    private List<BizExtensionRequests> bizExtensionRequests;

    /**
     * 罚款记录
     */
    private List<BizSafeFineVO> bizSafeFineVOList;

    /**
     * recordId
     */
    private String recordId;

    /**
     * 延期审批状态
     */
    private String extensionStatus;

    /**
     * 整改操作时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date rectifyOperatorTime;

    /**
     * 复查操作时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date reviewOperatorTime;

    /**
     * 人员类型
     */
    private String peopleType;
    /**
     * 督查督办信息
     */
    private List<BizOverseerVo> bizOverseerVo = new ArrayList<>();
    /**
     * 是否可以发起督察督办:true是,false否
     */
    private boolean overseerFlag;

}
